/**
\mainpage

WebCL provides JavaScript bindings to OpenCL API. The API is made
available for JavaScript code running in web page context.

<b>Warning</b>: This is an experimental implementation of ongoing
research work. Any user is adviced for extreme carefulness. The current
implementation may introduce severe risks for security and/or stability
of any related application or system. USE AT YOUR OWN RISK.

\section openclintro OpenCL
OpenCL (Open Computing Language) is an open standard for parallel programming of
heterogeneous platforms consisting of CPUs, GPUs, and other processors.
OpenCL is being created by <a href="http://www.khronos.org/">The Khronos Group</a>
with the participation of many industry-leading companies and institutions.

\section webclintro Nokia WebCL Firefox extension
The Nokia WebCL pilot implementation provides a C++ Mozilla XPCOM component 
designed to be used as a Firefox extension. More details are available on
the <a href="http://webcl.nokiaresearch.com/">project home page</a>.
The source code is licensed under the terms of the GNU Lesser General
Public License version 2.1 as published by the Free Software Foundation.

This documentation describes the interfaces provided by the Nokia WebCL
implementation. The goal of this documentation is not to provide an
exhaustive documentation for OpenCL functionality but the differences
to the WebCL approach. The Full OpenCL documentation is available on
The Khronos Group
<a href="http://www.khronos.org/opencl/">OpenCL web site</a>.

\section webclapi WebCL API

The Nokia WebCL API was designed to maintain resemblance to the
OpenCL C API in order to make it easy to take advantage of existing
OpenCL examples and tutorials. Some deviations were necessary to make
the API more appealing to a JavaScript developer and to overcome
certain technical obstacles such as those relating to language syntax
and resource management.

Function and constant naming generally follows OpenCL C API. However,
WebCL API is object oriented, meaning that functions related to certain
OpenCL handle are accessed as members of a WebCL object. The "cl" prefix
of OpenCL functions is dropped as namespace collisions are handled by
the class mechanism. For example, IWebCLContext interface covers the
functionality related to OpenCL context on OpenCL API. Functions, such
as clCreateBuffer(ctx, ...), become member functions, such as
ctx.createBuffer(...) .

Examples of WebCL applications are available on the project home page.

The WebCL API is under standardization at 
<a href="https://cvs.khronos.org/svn/repos/registry/trunk/public/webcl/spec/latest/index.html">
Khronos</a>. The WebCL API provided by the Nokia WebCL pilot was designed
before the standardization process started and differs from the working
draft in certain areas.

Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).

*/
